package com.itany.corejava.code09_集合.list集合;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年11月20日 13:55
 */

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

/**
 * 循环提示用户输入一个整数，存放到ArrayList集合中，输入0表示循环结束
 * 删除所有是5的倍数的元素，分别使用普通for循环和迭代器来删除
 */
public class Test04_练习 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        List<Integer> list=new ArrayList<>();
        while(true){
            System.out.print("请输入一个整数:(0表示结束):");
            int num= scanner.nextInt();
            if(num==0){
                break;
            }
            list.add(num);
        }

        // List<Integer> delList=removeElement(list);
        // System.out.println(delList);

        List<Integer> delList2=removeElement2(list);
        System.out.println(delList2);

    }

    /**
     * 使用for循环降序进行删除
     * @param list 需要删除元素的集合
     * @return
     */
    public static List<Integer> removeElement(List<Integer> list){
        for(int i=list.size()-1;i>=0;i--){
            Integer num=list.get(i);
            if(num%5==0){
                list.remove(num);
            }
        }
        return list;

    }

    /**
     * Iterator迭代器进行删除
     * @param list 需要删除元素的集合
     * @return
     */
    public static List<Integer> removeElement2(List<Integer> list){
        Iterator<Integer> it=list.iterator();
        while(it.hasNext()){
            Integer num=it.next();
            if(num%5==0){
                it.remove();
            }
        }

        return list;
    }



}
